/**
 * 
 * 自定义指令
 * 
*/
//权限按钮
import Vue from "vue";

export const buttonPermissions = Vue.directive('btnJuris', {
    /**
     * inserted：被绑定元素插入父节点时调用 
     * el：指令所绑定的元素，可以用来直接操作 DOM
     * binding.value：指令的绑定值，例如：v-my-directive="1 + 1" 中，绑定值为 2。
     */
    inserted: (el, binding,Vnode) => {
        let buttonKey = binding.value;
        // 代表某个元素需要通过权限验证
        if (buttonKey) {
            let key = checkKey(buttonKey)
            if (!key) {//在权限列表中的显示
                // el.remove();//删除按钮
                el.style.display = 'none'  //不显示
            }
        } else {
            throw new Error('缺少唯一指令')
        }
    },
})

// 检测传入的元素key是否可以显示
function checkKey(key) {
    // 获取权限数组
    let permissionData = ['12','1','14','15'];
    // let permissionData = sessionStorage.getItem("permissionData") ? sessionStorage.getItem("permissionData") : [];
    //如果传入的元素key不在权限数组里，则不可显示
    let index = permissionData.indexOf(key)
    if (index > -1) {
        return true;
    } else {
        return false;
    }
}